
// Dapatkan daftar Tahun ajaran bahasa Dari basis data melalui url get_tahun_ajaran.php
function getTahunAjaranList() {
    console.log('Loading tahun ajaran ...');
    
    $.ajax({
        type        : 'POST',
        url         : 'urls/get_tahun_ajaran.php',
        data        : '',
        dataType    : 'json',
        success     : function(data){
            
            // console.log(data);
            
            var html = '';
            $.each(data, function(index, item) {
                html += '<option value="' + index + '">' + item + '</option>';
            });
            
            $('#comboTa').append(html);
            
        }
    });
}

// gambar chart dari jumlah siswa menggunakan Highcharts()
// memanggil url get_jumlah_siswa.php
function loadGrafikTkPaud(ta) {
    console.log('Loading grafik TK and PAUD ...');

    // var ta = $('#comboTa :selected').val();
    // var sekolah = $('#comboSekolah :selected').val();
    // var tingkat = $('#comboTingkat :selected').val();
    	
    var chart;
    var options = {
        chart : {
            renderTo : 'grafikTkPaud',
            type : 'column'
        },
        title : {
            text : 'Grafik Jumlah Siswa'
        },
        subtitle : {
            text : ta == '' ? 'Semua Tahun Ajaran' : 'Tahun Ajaran ' + $('#comboTa :selected').text()
        },
        xAxis : {

        },
        yAxis : {
            allowDecimals: false,
            title : {
                text : 'Jumlah'
            }
        },
        tooltip : {
            shared: true            
        },
        legend : {
            backgroundColor: '#FFB12B',
            borderWidth: 0
        },
        credits: {
            enabled : false
        },
        plotOptions: {
            column: {
                dataLabels: {
                    enabled: true
                }
            }
        }
    };

    chart = new Highcharts.Chart(options);
    chart.showLoading();

    var values = {};
    values.ta = ta;
    // values.sekolah = sekolah;
    // values.tingkat = tingkat;

    $.ajax({
        type    : 'POST',
        url     : '../../urls/get_jumlah_siswa.php',
        dataType: 'json',
        data    : values,
        success : function(data) {
            console.log(data);
           
            var categories = data.categories;
            var series = data.series;
           
            options.xAxis.categories = categories;
            options.series = series;
            chart = new Highcharts.Chart(options);
            
			//buat tombol print chart
            var buttonHtml = '<input type="button" value="Print Chart" id="btnPrintChart" />';
            $('#divBtn').html(buttonHtml);
            // console.log('divBtn');
            
			
			// inisial fungsi tombol print grafik
            $('#btnPrintChart').click(function() {
                printCharts([chart]);
            });
            
        }
    });
}

// fungsi dari tombol tersebut
function printCharts(charts) {

    var origDisplay = [],
    origParent = [],
    body = document.body,
    childNodes = body.childNodes;

    // menyembunyikan semua konten body
    Highcharts.each(childNodes, function (node, i) {
        if (node.nodeType === 1) {
            origDisplay[i] = node.style.display;
            console.log('display: ' + node.style.display);
            if (node.style.display == 'none') {
                node.style.display = "";
            } else {
                node.style.display = "none";
            }
        }
    });

    // menempatkan grafik kembali
    $.each(charts, function (i, chart) {
        origParent[i] = chart.container.parentNode;
        body.appendChild(chart.container);
    });

    // print
    window.print();

    // memungkinkan browser untuk mempersiapkan sebelum kembali
    setTimeout(function () {
        // menempatkan grafik kembali
        $.each(charts, function (i, chart) {
            origParent[i].appendChild(chart.container);
        });

        // mengembalikan semua isi tubuh
        Highcharts.each(childNodes, function (node, i) {
            if (node.nodeType === 1) {
                node.style.display = origDisplay[i];
            }
        });
    }, 500);
}
